package cn.uexpo.lhz.dao;

import cn.uexpo.lhz.domain.Staff;
import cn.uexpo.lhz.domain.StaffExample;
import java.util.List;

import cn.uexpo.lhz.domain.vo.homechinaexpocertVo;
import org.apache.ibatis.annotations.Param;

public interface StaffMapper {
    long countByExample(StaffExample example);

    int deleteByExample(StaffExample example);

    int deleteByPrimaryKey(Integer staffId);

    int insert(Staff record);

    int insertSelective(Staff record);

    List<Staff> selectByExampleWithBLOBs(StaffExample example);

    List<Staff> selectByExample(StaffExample example);

    Staff selectByPrimaryKey(Integer staffId);

    int updateByExampleSelective(@Param("record") Staff record, @Param("example") StaffExample example);

    int updateByExampleWithBLOBs(@Param("record") Staff record, @Param("example") StaffExample example);

    int updateByExample(@Param("record") Staff record, @Param("example") StaffExample example);

    int updateByPrimaryKeySelective(Staff record);

    int updateByPrimaryKeyWithBLOBs(Staff record);

    int updateByPrimaryKey(Staff record);
    /**
     * 新添加Mqpper
     */
    int deleteByIds(List<Integer> staffId);

    int updateByStaffState(Staff record);

    int updateByStaffStates(List<Integer> list);

    List<Staff> findStaffPage(Staff staff);//分页以及多字段模糊查

    List<Staff> selectPartStaff(Integer staffId);

    List<Staff>  selectStaffId(Staff record);

    List<Staff>  selectStaffIdWhereProjectName(Staff record);

    List<Staff>  selectStaffIdToStaffSingle(Staff record);

    Staff selectStaffuntitled6(Staff record);//根据项目名，身份证ID，人员ID返回进入次数

    //新增sql 查询最大id
    int selectMaxId(StaffExample example);
    //新增sql 查询最小id
    int selectMinId(StaffExample example);

    List<Staff>  selectStaffIdToStaffNumber(Staff record);

    /**
     * @param staffList
     * @return
     *
     * @autho silly
     */
    //foreach 批量插入
    int insertBatch(@Param("staffList") List<Staff> staffList);



    int deleteAllByprojectType(String projectType);





}
